﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;

public partial class GoiThau : System.Web.UI.Page
{
    SqlParameter[] p;
    clsXuLy ex = new clsXuLy();
    string frmName = "frmGoiThau";
    public string Header = System.Configuration.ConfigurationSettings.AppSettings["Header"].ToString();
    static DataTable dt;
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Title = "Quản lí gói thầu | " + Header;
            btnCancel_Click(sender, e);
        }

    }
    protected void btnSave_Click(object sender, EventArgs e)
    {
        try
        {
            p = new SqlParameter[2];
            p[0] = new SqlParameter("@IDs", Guid.NewGuid());
            p[0].SqlDbType = SqlDbType.UniqueIdentifier;
            p[1] = new SqlParameter("@TenGoiThau", txtTenGoiThau.Text.Trim());
            p[1].SqlDbType = SqlDbType.NVarChar;
            
            ex.ExecuteNonQuerry("sp_vnttblgoithau_Add", p);
            btnCancel_Click(sender, e);
            gstGetMess("Lưu thành công", "");
        }
        catch (Exception ax)
        {
            gstGetMess("Có lỗi trong quá trình lưu, xem trong file log", "");
            ex.WriteLog(Server.MapPath("Log.txt"), DateTime.Now.ToString() + "\tGói thầu\t" + ax.Message);
        }
    }
    protected void btnCancel_Click(object sender, EventArgs e)
    {
        txtTenGoiThau.Text = "";
        txtTenGoiThau.Focus();
        btncapnhat.Visible = false;
        btnSave.Visible = true;

        GV.DataSource = ex.GetData("sp_vnttblgoithau_List");
        GV.DataBind();
        
    }
    private void gstGetMess(string gstMess, string gstLink)
    {
        if (gstLink == "")
            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), " ", "alert('" + gstMess + "')", true);
        else
            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), " ", "alert('" + gstMess + "');window.location.href='" + gstLink + "'", true);

    }
    protected void GV_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        string ID = e.CommandArgument.ToString();
        hdID.Value = ID;
        Guid gID = new Guid(ID);
        p = new SqlParameter[1];
        p[0] = new SqlParameter("@IDs", gID);
        p[0].SqlDbType = SqlDbType.UniqueIdentifier;

        if (e.CommandName.Equals("Select"))
        {
            DataTable dt = ex.GetData("sp_vnttblgoithau_ListByID", p);
            if (dt.Rows.Count > 0)
            {
                try
                {
                    txtTenGoiThau.Text = dt.Rows[0]["TenGoiThau"].ToString();
                }
                catch (Exception ax)
                {
                    gstGetMess("Có lỗi trong quá trình xem, xem trong file log", "");
                    ex.WriteLog(Server.MapPath("Log.txt"), DateTime.Now.ToString() + "\tGói thầu\t" + ax.Message);
                }

            }
            btncapnhat.Visible = true;
            btnSave.Visible = false;
        }
        else
            if (e.CommandName.Equals("Del"))
            {

                try
                {
                    ex.ExecuteNonQuerry("sp_vnttblgoithau_Del", p);
                    btnCancel_Click(sender, e);
                    gstGetMess("Xóa thành công", "");
                }
                catch (Exception ax)
                {
                    gstGetMess("Có lỗi trong quá trình xóa, xem trong file log", "");
                    ex.WriteLog(Server.MapPath("Log.txt"), DateTime.Now.ToString() + "\tGói thầu\t" + ax.Message);

                }

            }
    }
    protected void btncapnhat_Click(object sender, EventArgs e)
    {
        try
        {
            Guid gID = new Guid(hdID.Value);
            p = new SqlParameter[2];
            p[0] = new SqlParameter("@IDs", gID);
            p[0].SqlDbType = SqlDbType.UniqueIdentifier;

            p[1] = new SqlParameter("@TenGoiThau", txtTenGoiThau.Text.Trim());
            p[1].SqlDbType = SqlDbType.NVarChar;
            
            ex.ExecuteNonQuerry("sp_vnttblgoithau_Update", p);
            btnCancel_Click(sender, e);
            gstGetMess("Cập nhật thành công", "");
        }
        catch (Exception ax)
        {
            gstGetMess("Có lỗi trong quá trình cập nhật, xem trong file log", "");
            ex.WriteLog(Server.MapPath("Log.txt"), DateTime.Now.ToString() + "\tGói thầu\t" + ax.Message);
        }
    }
}